package com.vito.oa.act.service;

import java.util.Map;

import com.vito.act.approval.model.ActApprovalProgressModel;
import com.vito.base.authoriza.model.UserModel;
import com.vito.base.model.DataGrid;
import com.vito.base.model.MyHashMap;
import com.vito.base.model.Result;
import com.vito.oa.act.extend.model.OaActExBussModel;

/**
 * 流程导入
 * 
 * @author xuezhennan
 *
 */
public interface OaActProcessService {
	/**
	 * 导入工作流文件
	 * 
	 * @param filePath
	 * @return
	 */
	String importProcess(String filePath);

	/**
	 * 查询系统流程
	 * 
	 * @param process
	 * @return
	 */
	public DataGrid<MyHashMap<String, String>> querySysProgressByPage(OaActExBussModel process);

	/**
	 * 查询审批表单数据
	 * 
	 * @param businessId
	 * @param processKey
	 * @return
	 * @throws Exception 
	 */
	public Map<String, Object> queryProcessMainTableInfo(String businessId, String processKey);

	/**
	 * 流程复制（弃用）
	 * @param process
	 * @param user
	 * @return
	 */
	public Result importSysProcessToDefined(ActApprovalProgressModel process, UserModel user);

	/**
	 * 根据预制流程Id判断该模板是否被复制过
	 * 
	 * @param businessId
	 * @param deptId
	 * @return
	 */
	public boolean hasImportLog(String businessId, String deptId);
	
	/**
	 * 批量导入流程
	 * @param dir
	 */
	public void importBpmn(String dir);
	
	/**
	 * 批量导出流程
	 * @param dir
	 */
	public void exportBpmn(String dir);
	/**
	 * 根据流程Key或发布ID卸载流程，key不为null,卸载该key的所有发布版本
	 * @param key
	 * @param deployId
	 */
	public void uninstallBpmn(String key,String deployId);
	

}
